package com.nineclock.api.system;

import com.nineclock.common.entity.Result;
import com.nineclock.system.dto.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

@Api(value = "企业管理接口开发", tags = "系统服务", description = "企业管理API")
public interface SysCompanyControllerApi {

    @ApiOperation(value = "根据用户ID查询企业列表")
    public Result<List<SysCompanyDTO>> queryCompanyByUserId(Long userId);

    @ApiOperation(value = "企业管理: 查询当前企业信息")
    public Result<SysCompanyDTO> queryCompany();

    @ApiOperation(value = "企业管理: 文件上传")
    public Result uploadFile(MultipartFile file) throws IOException;

    @ApiOperation(value = "企业管理: 更新当前企业信息")
    public Result updateCompany(SysCompanyDTO companyDTO);

    @ApiOperation(value = "获取当前企业系统管理员")
    public Result<SysCompanyUserDTO> queryCurrentAdmin();

    @ApiOperation(value = "更改企业的系统管理员")
    public Result changeAdmin(SysChangeMainManagerDTO managerDTO);

    @ApiOperation(value = "根据传递的关键字查询企业列表")
    public Result<List<SysCompanyDTO>> queryByKeyword(String keyword);

    @ApiOperation(value = "申请加入企业")
    public Result applyJoinCompany(SysApplyJoinCompanyUserDTO companyUserDTO);

    @ApiOperation(value = "审核加入企业")
    public Result allowedJoinCompany(SysAllowedJoinCompanyUserDTO allowedDto);

}
